package fan.codeGenerate.common;
/** 
* @author liu_fan 2017年3月30日 下午2:14:56  
*/
public class GenerateInfo {
	
	private String tableName;
	
	//映射文件名称（包含文件后缀）
	private String entityFileName;
	//映射文件位置（包含工程外部分路径）
	private String entityFilePath;
	//映射文件位置+文件名称
	private String entityFileAllName;
	//映射类中的名称（无后缀，首字母大写）
	private String entityClassName;
	//映射类中的路径（在package中使用）
	private String entityClassPath;
	//映射全类名
	private String entityClassAllName;
	//映射模板名称
	private String entityTemplateName;
	
	
	//接口文件名称（包含文件后缀）
	private String serviceIFileName;
	//接口文件位置（包含工程外部分路径）
	private String serviceIFilePath;
	//接口文件位置+文件名称
	private String serviceIFileAllName;
	//接口类中的名称（无后缀，首字母大写）
	private String serviceIClassName;
	//接口类中的路径（在package中使用）
	private String serviceIClassPath;
	//接口全类名
	private String serviceIClassAllName;
	//接口模板名称
	private String serviceITemplateName;
	
	//接口实现文件名称（包含文件后缀）
	private String implFileName;
	//接口实现文件位置（包含工程外部分路径）
	private String implFilePath;
	//接口实现文件位置+文件名称
	private String implFileAllName;
	//接口实现类中的名称（无后缀，首字母大写）
	private String implClassName;
	//接口实现类中的路径（在package中使用）
	private String implClassPath;
	//接口实现全类名
	private String implClassAllName;
	//接口实现模板名称
	private String implTemplateName;
	
	//数据库文件名称（包含文件后缀）
	private String daoFileName;
	//数据库文件位置（包含工程外部分路径）
	private String daoFilePath;
	//数据库文件位置+文件名称
	private String daoFileAllName;
	//数据库类中的名称（无后缀，首字母大写）
	private String daoClassName;
	//数据库类中的路径（在package中使用）
	private String daoClassPath;
	//数据库全类名
	private String daoClassAllName;
	//数据库模板名称
	private String daoTemplateName;
	
	public GenerateInfo(String firstPath,String path,String tableName){
		this.setTableName(tableName);
		//映射
		this.setEntityFileName(Common.toFirstUpperName(tableName)+"Entity.java");
		this.setEntityFilePath(firstPath+path.replace('.', '/')+"/entity");
		this.setEntityFileAllName(this.getEntityFilePath()+"/"+this.getEntityFileName());
		this.setEntityClassName(Common.toFirstUpperName(tableName)+"Entity");
		this.setEntityClassPath(path+".entity");
		this.setEntityClassAllName(this.entityClassPath+"."+this.entityClassName);
		this.setEntityTemplateName("TemplateEntity.ftl");
		//接口
		this.setServiceIFileName(Common.toFirstUpperName(tableName)+"ServiceI.java");
		this.setServiceIFilePath(firstPath+path.replace('.', '/')+"/serviceI");
		this.setServiceIFileAllName(this.getServiceIFilePath()+"/"+this.getServiceIFileName());
		this.setServiceIClassName(Common.toFirstUpperName(tableName)+"ServiceI");
		this.setServiceIClassPath(path+".serviceI");
		this.setServiceIClassAllName(this.serviceIClassPath+"."+this.serviceIClassName);
		this.setServiceITemplateName("TemplateServiceI.ftl");
		//接口实现
		this.setImplFileName(Common.toFirstUpperName(tableName)+"Impl.java");
		this.setImplFilePath(firstPath+path.replace('.', '/')+"/impl");
		this.setImplFileAllName(this.getImplFilePath()+"/"+this.getImplFileName());
		this.setImplClassName(Common.toFirstUpperName(tableName)+"Impl");
		this.setImplClassPath(path+".impl");
		this.setImplClassAllName(this.implClassPath+"."+this.implClassName);
		this.setImplTemplateName("TemplateImpl.ftl");
		//数据库
		this.setDaoFileName(Common.toFirstUpperName(tableName)+"Dao.java");
		this.setDaoFilePath(firstPath+path.replace('.', '/')+"/dao");
		this.setDaoFileAllName(this.getDaoFilePath()+"/"+this.getDaoFileName());
		this.setDaoClassName(Common.toFirstUpperName(tableName)+"Dao");
		this.setDaoClassPath(path+".dao");
		this.setDaoClassAllName(this.getDaoClassPath()+"."+this.getDaoClassName());
		this.setDaoTemplateName("TemplateDao.ftl");
	}

	public String getTableName() {
		return tableName;
	}

	public void setTableName(String tableName) {
		this.tableName = tableName;
	}

	public String getEntityFileName() {
		return entityFileName;
	}

	public void setEntityFileName(String entityFileName) {
		this.entityFileName = entityFileName;
	}

	public String getEntityFilePath() {
		return entityFilePath;
	}

	public void setEntityFilePath(String entityFilePath) {
		this.entityFilePath = entityFilePath;
	}

	public String getEntityFileAllName() {
		return entityFileAllName;
	}

	public void setEntityFileAllName(String entityFileAllName) {
		this.entityFileAllName = entityFileAllName;
	}

	public String getEntityClassName() {
		return entityClassName;
	}

	public void setEntityClassName(String entityClassName) {
		this.entityClassName = entityClassName;
	}

	public String getEntityClassPath() {
		return entityClassPath;
	}

	public void setEntityClassPath(String entityClassPath) {
		this.entityClassPath = entityClassPath;
	}

	public String getEntityClassAllName() {
		return entityClassAllName;
	}

	public void setEntityClassAllName(String entityClassAllName) {
		this.entityClassAllName = entityClassAllName;
	}

	public String getEntityTemplateName() {
		return entityTemplateName;
	}

	public void setEntityTemplateName(String entityTemplateName) {
		this.entityTemplateName = entityTemplateName;
	}

	public String getServiceIFileName() {
		return serviceIFileName;
	}

	public void setServiceIFileName(String serviceIFileName) {
		this.serviceIFileName = serviceIFileName;
	}

	public String getServiceIFilePath() {
		return serviceIFilePath;
	}

	public void setServiceIFilePath(String serviceIFilePath) {
		this.serviceIFilePath = serviceIFilePath;
	}

	public String getServiceIFileAllName() {
		return serviceIFileAllName;
	}

	public void setServiceIFileAllName(String serviceIFileAllName) {
		this.serviceIFileAllName = serviceIFileAllName;
	}

	public String getServiceIClassName() {
		return serviceIClassName;
	}

	public void setServiceIClassName(String serviceIClassName) {
		this.serviceIClassName = serviceIClassName;
	}

	public String getServiceIClassPath() {
		return serviceIClassPath;
	}

	public void setServiceIClassPath(String serviceIClassPath) {
		this.serviceIClassPath = serviceIClassPath;
	}

	public String getServiceIClassAllName() {
		return serviceIClassAllName;
	}

	public void setServiceIClassAllName(String serviceIClassAllName) {
		this.serviceIClassAllName = serviceIClassAllName;
	}

	public String getServiceITemplateName() {
		return serviceITemplateName;
	}

	public void setServiceITemplateName(String serviceITemplateName) {
		this.serviceITemplateName = serviceITemplateName;
	}

	public String getImplFileName() {
		return implFileName;
	}

	public void setImplFileName(String implFileName) {
		this.implFileName = implFileName;
	}

	public String getImplFilePath() {
		return implFilePath;
	}

	public void setImplFilePath(String implFilePath) {
		this.implFilePath = implFilePath;
	}

	public String getImplFileAllName() {
		return implFileAllName;
	}

	public void setImplFileAllName(String implFileAllName) {
		this.implFileAllName = implFileAllName;
	}

	public String getImplClassName() {
		return implClassName;
	}

	public void setImplClassName(String implClassName) {
		this.implClassName = implClassName;
	}

	public String getImplClassPath() {
		return implClassPath;
	}

	public void setImplClassPath(String implClassPath) {
		this.implClassPath = implClassPath;
	}

	public String getImplClassAllName() {
		return implClassAllName;
	}

	public void setImplClassAllName(String implClassAllName) {
		this.implClassAllName = implClassAllName;
	}

	public String getImplTemplateName() {
		return implTemplateName;
	}

	public void setImplTemplateName(String implTemplateName) {
		this.implTemplateName = implTemplateName;
	}

	public String getDaoFileName() {
		return daoFileName;
	}

	public void setDaoFileName(String daoFileName) {
		this.daoFileName = daoFileName;
	}

	public String getDaoFilePath() {
		return daoFilePath;
	}

	public void setDaoFilePath(String daoFilePath) {
		this.daoFilePath = daoFilePath;
	}

	public String getDaoFileAllName() {
		return daoFileAllName;
	}

	public void setDaoFileAllName(String daoFileAllName) {
		this.daoFileAllName = daoFileAllName;
	}

	public String getDaoClassName() {
		return daoClassName;
	}

	public void setDaoClassName(String daoClassName) {
		this.daoClassName = daoClassName;
	}

	public String getDaoClassPath() {
		return daoClassPath;
	}

	public void setDaoClassPath(String daoClassPath) {
		this.daoClassPath = daoClassPath;
	}

	public String getDaoClassAllName() {
		return daoClassAllName;
	}

	public void setDaoClassAllName(String daoClassAllName) {
		this.daoClassAllName = daoClassAllName;
	}

	public String getDaoTemplateName() {
		return daoTemplateName;
	}

	public void setDaoTemplateName(String daoTemplateName) {
		this.daoTemplateName = daoTemplateName;
	}
}
